Mapping preferred locations using multiple arrows

ABSTRACT

A method for depicting location attributes in a map environment. The method includes receiving a request for parameters about a first type of location. The method includes determining a first set of directional arrows, where each directional arrow is associated with a location and has a first set of properties based on the parameters about the first type of location. The method further includes determining a selection of a first directional arrow, which is associated with a first location, from the first set of directional arrows. Modifications to the first set of directional arrows are made based on the selection of the first directional arrow.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of map locations,and more particularly to depicting location attributes in a mapenvironment.

Map services may be implemented with various devices, such as computingdevices, mobile devices, and Global Positioning Systems (GPS). Most mapservices are capable of displaying an image of a map environment, whichmay include points of interest, an origin and/or a destination point,and traffic conditions among other depictions, each represented byvarying map icons. The map icons can display useful information to auser, such as a street address of a point of interest. A point ofinterest may be, for example, a restaurant, a gas station, or ahospital.

Map services often allow a user to search for points of interest in aspecific geographical area, and the map service returns a results listwith multiple points of interest in the specified geographical area. Mapservices may also determine a route, such as a shortest distance routeor a lowest traffic route, between two specified points of interest. Mapservices often allow a user to interact with a map environment. Forexample, a user may zoom in on a map display to get a more detailedimage of a smaller area, or a user may zoom out from the map display toget broader information about a larger area.

SUMMARY

According to one embodiment of the present invention, a method fordepicting location attributes in a map environment is provided. Themethod for depicting location attributes in a map environment mayinclude receiving a request for parameters about a first type oflocation. The method may include determining a first set of directionalarrows, where each directional arrow is associated with at least onelocation and has a set of properties based on parameters about the firsttype of location. The method may include determining that a firstdirectional arrow that is associated with a first location has beenselected from the first set of directional arrows. The method mayinclude modifying one or more of the first set of directional arrowsbased on the selection of the first directional arrow.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating an environment, inaccordance with an embodiment of the present invention;

FIG. 2 is a flowchart depicting operational steps of a map icon programfor depicting location attributes in a map environment, in accordancewith an embodiment of the present invention;

FIG. 3A is a map environment depicting an example of a directional arrowicon, in accordance with an embodiment of the present invention;

FIG. 3B is a map environment depicting an example of a directional arrowicon, after a user selects a location of interest from the mapenvironment of FIG. 3A, in accordance with an embodiment of the presentinvention;

FIG. 3C is a map environment depicting an example of a directional arrowicon before a user adjusts the visible map area, in accordance with anembodiment of the present invention;

FIG. 3D is a map environment depicting an example of a directional arrowicon after a user adjusts the visible map area of FIG. 3C, in accordancewith an embodiment of the present invention; and

FIG. 4 depicts a block diagram of internal and external components of adata processing system, such as the client computing device of FIG. 1 ,in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

Currently, there are many user functions that may help a user betternavigate a map environment. Displaying the points of interest, trafficconditions, and the zoom function on a map are each functions that maymake a map environment easier to navigate and better display the desiredinformation to a user. Embodiments of the present invention seek toprovide a method for displaying the direction and distance of preferredlocations using a multiple arrow icon in a map environment.

The present invention will now be described in detail with reference tothe Figures. FIG. 1 is a functional block diagram illustrating anenvironment, generally designated 100, in accordance with one embodimentof the present invention. Modifications to environment 100 may be madeby those skilled in the art without departing from the scope of theinvention as recited by the claims. In an exemplary embodiment,environment 100 includes computing device 120 and map information server130, all interconnected over network 110.

Network 110 can be, for example, a local area network (LAN), a wide areanetwork (WAN) such as the Internet, or a combination of the two, and caninclude wired, wireless, or fiber optic connections. In general, network110 can be any combination of connections and protocols that willsupport communication between computing device 120 and map informationserver 130.

Map information server 130 contains map data files 131. Map informationserver 130 may be a management server, a web server, or any otherelectronic device or computing system capable of receiving and sendingdata. In other embodiments, map information server 130 can be a laptopcomputer, a tablet computer, a netbook computer, a personal computer(PC), a desktop computer, a personal digital assistant (PDA), a smartphone, or any programmable electronic device capable of communicatingwith computing device 120 via network 110 and with various componentsand devices within environment 100. In other embodiments of the presentinvention, map information server 130 can represent a computing systemutilizing clustered computers and components to act as a single pool ofseamless resources when accessed through a network. In the exemplaryembodiment, map information server 130 is capable of processing requestsfor map environment information from map icon program 124, located oncomputing device 120. Map information server 130 may include internaland external hardware components, as depicted and described in furtherdetail with respect to FIG. 4 .

Map data files 131 includes information detailing a map environment. Inthe exemplary embodiment, map data files 131 includes detailed parameterinformation, such as points of interest, roadways, and/or distances,among other information, for a location or area.

Computing device 120 includes user interface (UI) 122 and map iconprogram 124. Computing device 120 may be a laptop computer, a tabletcomputer, a netbook computer, a personal computer (PC), a desktopcomputer, a personal digital assistant (PDA), a smart phone, a thinclient, or any programmable electronic device capable of communicatingwith map information server 130 via network 110. Computing device 120may include internal and external hardware components, as depicted anddescribed in further detail with respect to FIG. 4 .

UI 122 may be, for example, a graphical user interface (GUI) or a webuser interface (WUI) and can display text, documents, web browserwindows, user options, application interfaces, and instructions foroperation, and includes the information (such as graphic, text, andsound) a program presents to a user and the control sequences the useremploys to control the program. In the exemplary embodiment, UI 122allows a user to interact with map icon program 124 through electronicdevices, such as a computer keyboard and/or cursor control devices, suchas a computer mouse or touchpad, and through graphical icons and visualindicators, such as secondary notation, as opposed to text-basedinterfaces, typed command labels, or text navigation.

In the exemplary embodiment, map icon program 124 is a softwareapplication capable of receiving information, such as a user input, viaUI 122. Although depicted as a separate component, in an embodiment, mapicon program 124 may be partially or fully integrated with UI 122. Inthe exemplary embodiment, map icon program 124 is capable ofcommunicating with map information server 130 and retrieving parameterinformation, such as map data files 131, via network 110. In otherembodiments, map icon program 124 is fully or partially integratedwithin a web-based map service, which retrieves a set of parameters froma server associated with the web-based map service. In yet anotherembodiment, map icon program 124 retrieves the requested parametersusing a software program or a plug-in service.

FIG. 2 is a flowchart depicting operational steps of map icon program124 for depicting location attributes in a map environment, inaccordance with an embodiment of the present invention.

Map icon program 124 receives a request from a user of computing device120, for information about a location of interest (step 201). In theexemplary embodiment, map icon program 124 retrieves the requestedinformation about a location of interest from map data files 131,located on map information server 130. For example, a user may requestinformation about a type of location, such as a gas station, arestaurant, or a park. The requested information may include informationabout parameters, such as, the distance from an origin point, a userrating, traffic data, and/or cost information. In the exemplaryembodiment, a user also specifies a geographical area for map iconprogram 124 to search, the number of search results for map icon program124 to return to the user, and which parameter information about thespecified location for map icon program 124 to search. For example, auser may request information regarding gas stations with the lowest fuelcost within a five (5) mile radius from a point of origin, with thesearch limited to five (5) returned search results.

Map icon program 124 determines properties associated with a directionalarrow for each location of interest searched by a user (step 202). Inthe exemplary embodiment, map icon program 124 determines a directionand a distance, from the point of origin indicated by a user, to eachlocation of interest. Map icon program 124 creates a directional arrowbased on the determined direction and distance, with the length of thedirectional arrow being proportional to the distance. For example, ifthe location represented by the first directional arrow is two (2) milesfrom the point of origin, and the location represented by the seconddirectional arrow is one (1) mile from the point of origin, map iconprogram 124 may create a first directional arrow of a length that istwice the length of a second directional arrow. In other embodiments,map icon program 124 determines additional parameters for each locationof interest, such as a user rating, an average price, and/or the currenttraffic to the location of interest. For example, if a restaurantrepresented by a first directional arrow has an average user rating offour (4) stars and a restaurant represented by a second directionalarrow has an average user rating of two (2) stars, map icon program 124may create the first directional arrow of a length that is twice thelength of the second directional arrow.

In one embodiment, map icon program 124 determines a weight for eachdirectional arrow to reflect the distance from the point of originindicated by a user to a location of interest. For example, adirectional arrow with a heavier weight may indicate that a location ofinterest is a closer distance to the point of origin than a directionalarrow with a lighter weight (depicted in FIG. 3A). In other embodiments,the weight on each directional arrow represents a second set ofparameters for a location. For example, if a user is searching for gasstations in a geographic region, the length and the direction of adirectional arrow may indicate to a user the relative distance anddirection of a location of interest from a point of origin on a mapwhile, simultaneously, the weight of each directional arrow may show afuel price, where a heavier weighted directional arrow may indicate ahigher fuel cost.

In another embodiment, the directional arrow representing a location ofinterest that is the closest distance to the point of origin may beshown as a different color than the directional arrows representing theother locations of interest. For example, a user may select an input todepict the directional arrow representing the location of interest thatis the closest distance to the point of origin in green, while thedirectional arrows representing the other locations of interest aredepicted in red. In another embodiment, a color of the directional arrowmay be used to represent a type of location when more than one type oflocation is searched by a user. For example, a red directional arrow maybe used to represent gas stations, and a blue directional arrow may beused to represent restaurants. In yet another embodiment, multipledirectional arrow attributes are implemented to represent multiple setsof parameters about a location of interest. For example, if a user issearching for restaurants in a geographic region, the length and thedirection of each directional arrow may indicate to a user the relativedistance and direction of a restaurant from a point of origin. In thesame example, simultaneously, the weight of each directional arrow maycorrespond to an average menu price, where a heavier weighteddirectional arrow may indicate a higher average menu price while,simultaneously, the color of the arrow may represent an average customerrating, where a darker shade of red indicates a higher average customerrating, and a lighter shade of red indicates a lower average customerrating.

Map icon program 124 displays the determined directional arrows for eachlocation of interest (step 203). In the exemplary embodiment, map iconprogram 124 displays all of the determined directional arrows pointingto the respective location of interest as one icon, called thedirectional arrow icon. The movement of the directional arrow icon isreflective of a cursor movement, controlled by a user of a mouse device.Map icon program 124 is able to determine the movement of the cursor bycommunicating with the operating system of the computing device, whichcan determine whether a selection has been made in the user interface orif the mouse device is hovering (stopping movement while the cursor iswithin the bounds of an area) over an area. In other embodiments, a userdoes not use a mouse device to control the directional arrow iconmovement, and the directional arrow icon will move responsive to adifferent user implementation, for example, a user touching the displayscreen of a tablet device. In the exemplary embodiment, a map icon isdisplayed at the determined location of interest in the visible regionof the map or, if the location of interest is not within the visibleregion of the map, a ghost image is displayed next to the associateddirectional arrow. A ghost image is a transparent map image of alocation of interest that is located outside the visible area of the map(depicted in FIG. 3A). In other embodiments, the ghost image, associatedwith a location of interest that is outside the visible area of the map,has the distance from the point of origin written on or near it.

Map icon program 124 determines whether a directional arrow has beenselected by a user of the computing device (decision block 204). In theexemplary embodiment, the directional arrow icon follows the cursormovement controlled by a user of a mouse device. The directional arrowsand ghost images become selectable when a user of the computing deviceinvokes a function key on the keyboard. By subsequently invoking thesame function key on the keyboard a second time, or by invoking adifferent function key, the directional arrow icon reverts back tofollow the cursor movement controlled by a user of a mouse device. Forexample, a user may press a function key on the keyboard, such as F2,which causes the directional arrow icon to stop movement responsive tothe mouse device, and causes each directional arrow and each ghost imageto become clickable links, which a user may select by clicking on thedesired directional arrow, using a mouse device. A user may then pressthe F2 key a second time, causing the directional arrow icon to revertback to following the cursor movement, controlled by a user of themouse. In other embodiments, a user does not use a mouse device tointeract with a user interface and selects a directional arrow from thedirectional arrow icon by interacting directly with the display screen.For example, a user of a touch-screen tablet device may select adirectional arrow from the directional arrow icon by touching thedirectional arrow directly on the display screen.

If a directional arrow has been selected by a user of the computingdevice (decision block 204, YES branch), map icon program 124 resizesthe map image to fit the location of interest, selected by a user, inthe visible map area (step 205). In the exemplary embodiment, map iconprogram 124 automatically resizes the map image responsive to a userselecting a directional arrow in order to fit the location of interestassociated with the selected directional arrow, as well as the point oforigin, in the visible map area. In the same embodiment, a location ofinterest that was not selected by the user may automatically becomevisible in the resized map if the location is in the same direction andcloser to the point of origin than the selected location of interest.For example, in order to fit a selected location of interest that is asignificant distance from the point of origin in the visible map area,map icon program 124 may need to zoom out the map image in order to showa larger area in the visible range of the map image, and this may allowa second location of interest to be in the visible range as well(detailed in FIG. 3B). In other embodiments, map icon program 124determines that the location of interest is within the visible map areaand the map image does not need to be resized.

Map icon program 124 resizes the directional arrow icon to reflect thelocation of interest selected by a user (step 206). In the exemplaryembodiment, responsive to a user selecting a location of interest, eachnon-selected directional arrow of the directional arrow icon is resizedproportionately to reflect the changed arrow properties at the selectedlocation of interest (detailed in FIG. 3B). For example, the directionalarrows associated with locations of interest, which may be located onthe east side of a map image, will increase in length after thedirectional arrow icon is moved to a location of interest which may belocated on the west side of a map image. In the exemplary embodiment,responsive to a user selecting a directional arrow, each location ofinterest that is not in the visible map area after it has been resizedhas a ghost image associated with the directional arrow. If the locationof interest is in the visible range after the map has been resized, amap icon will be shown to indicate the location of interest on the mapimage. In other embodiments, the weight of each directional arrow and/orthe color of each directional arrow changes (if using these directionalarrow properties), along with the change in length of each directionalarrow, to reflect the location of interest selected by the user.

If a directional arrow has not been selected by a user of the computingdevice (decision block 204, NO branch), map icon program 124 determinesif the visible area of the map has been adjusted by a user (decisionblock 207). In the exemplary embodiment, a user selects a location ofinterest outside the visible map area to view in the same zoomed stateby clicking the mouse device and dragging the cursor in the oppositedirection of the directional arrow associated with the location ofinterest the user wishes to view. For example, a user may click a mousedevice and drag the cursor in the opposite direction of the directionalarrow at the desired location of interest, moving the desired locationof interest into the visible map area while the map image remains in thesame zoomed state (detailed in FIGS. 3C-3D). In other embodiments, auser moves the map image by using a function key on a keyboard andscrolling the mouse device, or by swiping the device display directly ifusing a touch device.

If the visible area of the map has been adjusted by a user (decisionblock 207, YES branch), map icon program 124 resizes the directionalarrow icon based on the user adjustment (step 208). In the exemplaryembodiment, responsive to a user adjusting the visible area of the map,map icon program 124 moves the directional arrow icon to the visible maparea of the selected location of interest on the map image and resizeseach directional arrow of the directional arrow icon to proportionatelyreflect the arrow properties at the selected location of interest. Inthe same embodiment, responsive to a user adjusting the visible area ofthe map, each location of interest that is not in the visible map areaafter it has been adjusted has a ghost image associated with thedirectional arrow. If the location of interest is in the visible rangeafter the map has been adjusted, a map icon is shown to indicate thelocation of interest on the map image (detailed in FIGS. 3C-3D). Inother embodiments, the weight of each directional arrow and/or the colorof each directional arrow changes (if using these directional arrowproperties), along with the change in length of each directional arrow,to reflect the location of interest selected by the user.

If the visible area of the map has not been adjusted by a user (decisionblock 207, NO branch), map icon program 124 ends.

FIG. 3A is a map environment depicting an example of directional arrowicon 302, in accordance with an embodiment of the present invention.Point of origin 301 is a location determined by a user, and is thelocation from which the distance and direction to each location ofinterest is measured. Directional arrow icon 302 is a display icon whichshows the direction and distance from point of origin 301 to eachlocation of interest searched by a user. Directional arrow icon 302includes directional arrows 304, 306, and 308, and map icons 303, 305,and 307. Map icons 303, 305, and 307 are associated with directionalarrows 304, 306, and 308, respectively, and are transparent map imagesto represent a location of interest outside the visible map area. Asdepicted in FIG. 3A, the locations of interest associated with map icons303, 305, and 307 are each outside the visible map area, and are shownas ghost images within directional arrow icon 302. Directional arrows304, 306, and 308 are each arrows pointing in the direction of therespective location of interest. Cursor 300 is a cursor point in the mapenvironment controlled by a user of the computing device, and is thecenter point of directional arrow icon 302 from which directional arrows304, 306, and 308 originate.

In the exemplary embodiment, the length of each arrow, as well as theweight of each arrow, is proportionately reflective of the distance fromthe point of origin to the location of interest. For example,directional arrow 304 is the shortest arrow in length, and the heaviestarrow in weight, depicting the location of interest which is the closestin distance from the point of origin. Directional arrows 306 and 308 areproportionately longer and less heavy in weight than directional arrow304, depicting that the locations of interest associated withdirectional arrows 306 and 308 are each proportionately further indistance from the point of origin than the location of interestassociated with directional arrow 304.

FIG. 3B is a map environment depicting an example of directional arrowicon 302, after a user selects a location of interest from the mapenvironment of FIG. 3A, in accordance with an embodiment of the presentinvention. Point of origin 301 is a location selected by a user, and isthe location from which the distance and direction to each location ofinterest is measured. Directional arrow icon 302 is a display icon,which shows the direction and distance to each location of interest,searched by a user, and includes directional arrows 304, 306, and 308and map icons 303, 305, and 307. As depicted in FIG. 3B, map icon 307 isa ghost image, and is associated with directional arrow 308. Map icons303 and 305, associated with directional arrows 304 and 306,respectively, depict a location of interest that is in the visibleregion of the map image, and do not have the accompanying transparentmap images of a ghost image. Directional arrows 304, 306, and 308 areeach arrows pointing in the direction of the respective location ofinterest. Cursor 300 is a cursor point in the map environment controlledby a user of the computing device, and is the center point ofdirectional arrow icon 302 from which directional arrows 304, 306, and308 originate.

In the exemplary embodiment, map icon 305 is the location of interestselected by a user, and the visible map area has been resized from themap environment of FIG. 3A, to fit map icon 305, associated withdirectional arrow 306, in the visible map area. Map icon 303 is thelocation of interest associated with directional arrow 304, and isautomatically visible in the resized map, as it is located at a nearerdistance to the point of origin than map icon 305, and is in the samegeneral direction as map icon 305.

FIG. 3C is a map environment depicting an example of directional arrowicon 302 before a user adjusts the visible map area, in accordance withan embodiment of the present invention. Point of origin 301 is alocation selected by a user, and is the location from which the distanceand direction to each location of interest is measured. Directionalarrow icon 302 is a display icon, which shows the direction and distanceto each location of interest, searched by a user. Directional arrow icon302 includes directional arrows 304, 306, and 308, each pointing in thedirection of the respective location of interest, and map icons 303,305, and 307, each reflecting a location of interest inside the visiblemap area. Map icons 303, 305, and 307 are associated with directionalarrows 304, 306, and 308, respectively. Cursor 300 is a cursor point inthe map environment controlled by a user of the computing device and isthe center point of directional arrow icon 302 from which directionalarrows 304, 306, and 308 originate.

FIG. 3D is a map environment depicting an example of directional arrowicon 302, after a user adjusts the visible map area of FIG. 3C, inaccordance with an embodiment of the present invention. FIG. 3D remainsin the same zoomed state as FIG. 3C, and directional arrow icon 302 inFIG. 3D includes directional arrows 304, 306, and 308, and map icons303, 305, and 307. Map icon 305, the exemplary selected location ofinterest, is associated with directional arrow 306, and is within thevisible map area. Map icons 303 and 307, associated with directionalarrows 304 and 308, respectively, each reflect a location of interestoutside the visible map area. Map icon 303 reflects a location ofinterest which remains outside the visible map area from FIG. 3C to FIG.3D, while map icon 307 reflects a location of interest that is adjustedfrom inside the visible map area (map icon 307 in FIG. 3C), to outsidethe visible map area (map icon 307 in FIG. 3D). Directional arrows 304,306, and 308 of FIG. 3D are each proportionately adjusted in directionand length from directional arrows 304, 306 and 308 of FIG. 3C, toreflect the direction and distance of each respective location ofinterest, from the selected location of interest (map icon 305). Cursor300 is a cursor point in the map environment controlled by a user of thecomputing device and is the center point of directional arrow icon 302from which directional arrows 304, 306, and 308 originate.

FIG. 4 depicts a block diagram of components of computing device 120 andmap information server 130, in accordance with an illustrativeembodiment of the present invention. It should be appreciated that FIG.4 provides only an illustration of one implementation and does not implyany limitations with regard to the environments in which differentembodiments may be implemented. Many modifications to the depictedenvironment may be made.

Computing device 120 and map information server 130 each includecommunications fabric 402, which provides communications betweencomputer processor(s) 404, memory 406, persistent storage 408,communications unit 410, and input/output (I/O) interface(s) 412.Communications fabric 402 can be implemented with any architecturedesigned for passing data and/or control information between processors(such as microprocessors, communications and network processors, etc.),system memory, peripheral devices, and any other hardware componentswithin a system. For example, communications fabric 402 can beimplemented with one or more buses.

Memory 406 and persistent storage 408 are computer readable storagemedia. In this embodiment, memory 406 includes random access memory(RAM) 414 and cache memory 416. In general, memory 406 can include anysuitable volatile or non-volatile computer readable storage media.

The programs user interface 122 and map icon program 124 in computingdevice 120, and programs map data files 131 in map information server130 are stored in persistent storage 408 for execution and/or access byone or more of the respective computer processors 404 via one or morememories of memory 406. In this embodiment, persistent storage 408includes a magnetic hard disk drive. Alternatively, or in addition to amagnetic hard disk drive, persistent storage 408 can include a solidstate hard drive, a semiconductor storage device, read-only memory(ROM), erasable programmable read-only memory (EPROM), flash memory, orany other computer readable storage media that is capable of storingprogram instructions or digital information.

The media used by persistent storage 408 may also be removable. Forexample, a removable hard drive may be used for persistent storage 408.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage408.

Communications unit 410, in these examples, provides for communicationswith other data processing systems or devices, including betweencomputing device 120 and map information server 130. In these examples,communications unit 410 includes one or more network interface cards.Communications unit 410 may provide communications through the use ofeither or both physical and wireless communications links. The programsuser interface 122 and map icon program 124 in computing device 120 andprograms map data files 131 in map information server 130 may bedownloaded to persistent storage 408 through communications unit 410.

I/O interface(s) 412 allows for input and output of data with otherdevices that may be connected to computing device 120 and mapinformation server 130. For example, I/O interface 412 may provide aconnection to external devices 418 such as a keyboard, keypad, a touchscreen, and/or some other suitable input device. External devices 418can also include portable computer readable storage media such as, forexample, thumb drives, portable optical or magnetic disks, and memorycards. Software and data used to practice embodiments of the presentinvention, e.g., the programs user interface 122 and map icon program124 in computing device 120, and programs map data files 131 in mapinformation server 130, can be stored on such portable computer readablestorage media and can be loaded onto persistent storage 408 via I/Ointerface(s) 412. I/O interface(s) 412 also connect to a display 420.

Display 420 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience and thus, theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network(LAN), a wide area network (WAN), and/or a wireless network. The networkmay comprise copper transmission cables, optical transmission fibers,wireless transmission, routers, firewalls, switches, gateway computers,and/or edge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus, or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

1. A method comprising: generating a first directional arrow based on adirection of a first location corresponding to a search request from anorigin point; identifying a second location based on a type of locationcorresponding to the search request; and displaying, on a map in agraphical user interface, a second directional arrow based on adirection of the second location from the origin point, the seconddirectional arrow displayed at a second position on the map to indicatethe direction of the second location in relation to the origin point,wherein the second location is not shown in the map.
 2. The method ofclaim 1, further comprising: generation the second directional arrowbased on the direction of the second location from the origin point. 3.The method of claim 1, further comprising: in response to selection ofthe second directional arrow, modifying a zoom level of the mappresented on the graphical user interface, resulting in a modified map,the modified map showing both the origin point and the second location.4. The method of claim 1, wherein the first directional arrow is firstlength to indicate a distance of the first location from the originpoint and the second directional arrow is a second length to indicate adistance of the second location from the origin point.
 5. The method ofclaim 1, wherein the first directional arrow is first weight to indicatea distance of the first location from the origin point and the seconddirectional arrow is a second weight to indicate a distance of thesecond location from the origin point.
 6. The method of claim 1, furthercomprising: identifying the second location based on a second type oflocation specified in the search request.
 7. The method of claim 6,wherein the first directional arrow is presented in a first color torepresent a type of the first location and the second directional arrowis presented in a second color to represent a type of the secondlocation.
 8. The method of claim 1, further comprising: displaying thefirst directional arrow on the map, the first directional arrowdisplayed at a position on the map to indicate the direction of thefirst location in relation to the origin point, wherein the firstlocation is not shown in the map.
 9. The method of claim 8, furthercomprising: in response to selection of the first directional arrow,modifying a zoom level of the map presented on the graphical userinterface, resulting in a modified map, the modified map showing boththe origin point and the first location.
 10. A system comprising: one ormore computer processors; and one or more computer-readable mediumsstoring instructions that, when executed by the one or more computerprocessors, cause the system to perform operations comprising:generating a first directional arrow based on a direction of a firstlocation corresponding to a search request from an origin point;identifying a second location based on a type of location correspondingto the search request; and displaying, on a map in a graphical userinterface, a second directional arrow based on a direction of the secondlocation from the origin point, the second directional arrow displayedat a second position on the map to indicate the direction of the secondlocation in relation to the origin point, wherein the second location isnot shown in the map.
 11. The system of claim 10, the operations furthercomprising: generation the second directional arrow based on thedirection of the second location from the origin point.
 12. The systemof claim 10, the operations further comprising: in response to selectionof the second directional arrow, modifying a zoom level of the mappresented on the graphical user interface, resulting in a modified map,the modified map showing both the origin point and the second location.13. The system of claim 10, wherein the first directional arrow is firstlength to indicate a distance of the first location from the originpoint and the second directional arrow is a second length to indicate adistance of the second location from the origin point.
 14. The system ofclaim 10, wherein the first directional arrow is first weight toindicate a distance of the first location from the origin point and thesecond directional arrow is a second weight to indicate a distance ofthe second location from the origin point.
 15. The system of claim 10,the operations further comprising: identifying the second location basedon a second type of location specified in the search request.
 16. Thesystem of claim 15, wherein the first directional arrow is presented ina first color to represent a type of the first location and the seconddirectional arrow is presented in a second color to represent a type ofthe second location.
 17. A non-transitory computer-readable mediumstoring instructions that, when executed by one or more computerprocessors of one or more computing devices, cause the one or morecomputing devices to perform operations comprising: generating a firstdirectional arrow based on a direction of a first location correspondingto a search request from an origin point; identifying a second locationbased on a type of location corresponding to the search request; anddisplaying, on a map in a graphical user interface, a second directionalarrow based on a direction of the second location from the origin point,the second directional arrow displayed at a second position on the mapto indicate the direction of the second location in relation to theorigin point, wherein the second location is not shown in the map. 18.The non-transitory computer-readable medium of claim 17, the operationsfurther comprising: generation the second direction arrow based on thedirection of the second location from the origin point.
 19. Thenon-transitory computer-readable medium of claim 17, the operationsfurther comprising: in response to selection of the second directionalarrow, modifying a zoom level of the map presented on the graphical userinterface, resulting in a modified map, the modified map showing boththe origin point and the second location.
 20. The non-transitorycomputer-readable medium of claim 17, wherein the first directionalarrow is first length to indicate a distance of the first location fromthe origin point and the second directional arrow is a second length toindicate a distance of the second location from the origin point.